/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
//Variables globales que se pueden utilizar en todo el proyecto

var var_global= 0;

function dialogo_confirmar(funcion,parametro, texto){
  $('<div class="mensaje"></div')
  .html(texto)
  .dialog({
    title: 'Confirmar...',
    width: 450,
    modal: true,
    buttons:{
      'Sí': function(){
        $(this).dialog('close');
        funcion(parametro);
      },
      'No': function(){
        $(this).dialog('close');
      }
    }
  })
}

function dialogo_notificar(texto){
  $('<div class="mensaje"></div')
  .html(texto)
  .dialog({
    title: 'Información...',
    modal: true,
    width: 450,
    buttons:{
      'Ok': function(){
        $(this).dialog('close');
      }    
    }
  })
}

/*
 * Se pasa un string de tipo xxx_2
 * devuelve dato.raiz: xxx_; dato.incide 2; devuelve dato.error si no hay indice o no existe la variable
 */
function enlace_get(p_indice){
  var ind;
  var dato = new Array;
  dato.error= true;
  if (typeof(p_indice)== "undefined")return dato;
  ind= p_indice.lastIndexOf('_') +1;
  if (ind == 0) return dato;
  dato.raiz = p_indice.substr(0, ind);
  dato.indice= parseInt(p_indice.substr(ind));
  dato.error= false;
  return dato;
}

function aux_sustituye_todo(str, busca, reemplaza){
  do {
    str = str.replace(busca,reemplaza);
  } while(str.indexOf(busca) >= 0);
  return str;
}

$(document).ready(function(){
  $("#patrocinador_imagen img")
  .mouseover (function(){
    $(this).attr('src', $(this).attr('alt'));
    $(this).attr('width', $(this).attr('width'));    
  })
  .mouseleave (function(){
    $(this).attr('src', $(this).attr('class'));
  })
})

function dialogo_abre(selector){
  setTimeout(function(){
    $(selector).dialog('open');
  },100);
}

function dialogo_destruye(selector){
  setTimeout(function(){
    $(selector).dialog('destroy')
  },100);
}

function banco_validar(form) {
  var banco = $(form + ' #banco').val();
  var sucursal= $(form + ' #sucursal').val();
  var dc = $(form + ' #dc').val();
  var cuenta = $(form + ' #cuenta').val();
  
  var flag1= !(banco_obtener_digito("00" + banco + sucursal)) == parseInt(dc.charAt(0));
  var flag2= !(banco_obtener_digito(cuenta) == parseInt(dc.charAt(1)));
  
  if (flag1 || flag2){
    dialogo_notificar("<b>cuenta bancaria:</b><br> <br>Los dígitos de control no se corresponden con los demás números de la cuenta");
    return false;
  }
  return true;
}

function banco_obtener_digito(valor){
  valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
  control = 0;
  for (i=0; i<=9; i++)
    control += parseInt(valor.charAt(i)) * valores[i];
  control = 11 - (control % 11);
  if (control == 11) control = 0;
  else if (control == 10) control = 1;
  return control;
}


function utf8_decode (str_data) {
  // Converts a UTF-8 encoded string to ISO-8859-1  
  // 
  // version: 1109.2015
  // discuss at: http://phpjs.org/functions/utf8_decode
  // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
  // +      input by: Aman Gupta
  // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
  // +   improved by: Norman "zEh" Fuchs
  // +   bugfixed by: hitwork
  // +   bugfixed by: Onno Marsman
  // +      input by: Brett Zamir (http://brett-zamir.me)
  // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
  // *     example 1: utf8_decode('Kevin van Zonneveld');
  // *     returns 1: 'Kevin van Zonneveld'
  var tmp_arr = [],
  i = 0,
  ac = 0,
  c1 = 0,
  c2 = 0,
  c3 = 0;
 
  str_data += '';
 
  while (i < str_data.length) {
    c1 = str_data.charCodeAt(i);
    if (c1 < 128) {
      tmp_arr[ac++] = String.fromCharCode(c1);
      i++;
    } else if (c1 > 191 && c1 < 224) {
      c2 = str_data.charCodeAt(i + 1);
      tmp_arr[ac++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
      i += 2;
    } else {
      c2 = str_data.charCodeAt(i + 1);
      c3 = str_data.charCodeAt(i + 2);
      tmp_arr[ac++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
      i += 3;
    }
  }
 
  return tmp_arr.join('');
}

function utf8_encode (argString) {
  // Encodes an ISO-8859-1 string to UTF-8  
  // 
  // version: 1109.2015
  // discuss at: http://phpjs.org/functions/utf8_encode
  // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
  // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
  // +   improved by: sowberry
  // +    tweaked by: Jack
  // +   bugfixed by: Onno Marsman
  // +   improved by: Yves Sucaet
  // +   bugfixed by: Onno Marsman
  // +   bugfixed by: Ulrich
  // +   bugfixed by: Rafal Kukawski
  // *     example 1: utf8_encode('Kevin van Zonneveld');
  // *     returns 1: 'Kevin van Zonneveld'
  if (argString === null || typeof argString === "undefined") {
    return "";
  }
 
  var string = (argString + ''); // .replace(/\r\n/g, "\n").replace(/\r/g, "\n");
  var utftext = "",
  start, end, stringl = 0;
 
  start = end = 0;
  stringl = string.length;
  for (var n = 0; n < stringl; n++) {
    var c1 = string.charCodeAt(n);
    var enc = null;
 
    if (c1 < 128) {
      end++;
    } else if (c1 > 127 && c1 < 2048) {
      enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
    } else {
      enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
    }
    if (enc !== null) {
      if (end > start) {
        utftext += string.slice(start, end);
      }
      utftext += enc;
      start = end = n + 1;
    }
  }
 
  if (end > start) {
    utftext += string.slice(start, stringl);
  }
 
  return utftext;
}

